$(function () {
    
    $('#ruta, #dias').change(function () {
        if (!$(this).val())
        {
            $('#frecuencia').html('');
            $('#frecuencia').append('<option value="">Seleccione una ruta para cargar los horarios</option>');
            return false;
        }

        $.ajax({
            url: rootPath + 'boletounion/buscarFrecuencias',
            data: {
                ruta: $('#ruta').val(), 
                dia: $('#dias').val()
            },
            type: 'POST',
            dataType: 'json',
            success: function (data) {
                agregarOpciones(data, 'frecuencia', 'Seleccione una frecuencia');
            },
            error: function () {
                alert('Ha ocurrido un error al cargar las frecuencias');
            }
        });
    });

    $('#ruta').change(function () {
        if (!$(this).val())
        {
            $('#escala').html('');
            $('#escala').append('<option value="">Seleccione una ruta para cargar las escalas</option>');
            return false;
        }

        $.ajax({
            url: rootPath + 'boletounion/buscarEscalas',
            data: {
                ruta: $('#ruta').val(), 
                cooperativa:$('#coopid').val()
            },
            type: 'POST',
            dataType: 'json',
            success: function (data) {
                agregarOpciones(data, 'escala', 'Seleccione una escala');
            },
            error: function () {
                alert('Ha ocurrido un error al cargar las escalas');
            }
        });
    });
    
     
    $('#frecuencia').change(function () {
        if (!$(this).val())
        {
            $('#busturno').html('');
            $('#busturno').append('input');
            return false;
        }

        $.ajax({
            url: rootPath + 'boletounion/buscarBus',
            data: {
                frecuencia: $('#frecuencia').val(), 
                dia:$('#dias').val()
            },
            type: 'POST',
            dataType: 'json',
            success: function (data) {
                agregarOpcion(data, 'busturno','-----');  
                agregarOpcion(data, 'busboleto1','-----');  
                agregarOpcion(data, 'busboleto2','-----'); 
                
            },
            error: function () {
                alert('Ha ocurrido un error al buscar el bus designado');
                
            }
        });        
        var salida=$('#frecuencia option:selected').text().split('-');
        $("#horaboleto").val(salida[0]);                
    });


    $('#frecuencia').change(function () {
        if (!$(this).val())
        {
            $('#asientostotales').html('');
            $('#asientostotales').append('Asientos');
            return false;
        }
        
        var salida=$('#frecuencia option:selected').text().split('-');
        var horaob=salida[0];                
        
        $.ajax({
            url: rootPath + 'boletounion/buscarAsientos',
            data: {
                frecuencia: $('#frecuencia').val(), 
                dia:$('#dias').val(),                
                hora: horaob
            },
            type: 'POST',
            dataType: 'json',
            success: function (data) {
                agregarOpciones(data, 'asientostotales','||___Ventana__||___Pasillo___||||___Pasillo___||__Ventana___||');
            },
            error: function () {
                alert('Ha ocurrido un error al cargar la lista de asientos');          
            }
        });        
        
    });



    $('#cibusqueda').keyup(function(event) {
        range = /^-?[0-9]+([0-9]*)?$/;                    
        if(!(range.test($(this).val()) )){
            alert('Solo se permiten caracteres numéricos') ;
            $(this).val('');
            $('#nom').val('');
            $('#ape').val('');            
            $('#tel').val('');            
            $('#email').val('');             
            document.getElementById("nom").disabled="disabled";
            document.getElementById("ape").disabled="disabled";
            document.getElementById("tel").disabled="disabled";
            document.getElementById("email").disabled="disabled";
            
            document.getElementById("guardarcliente").disabled="disabled";
        }
    });

    $('#cibusqueda').keypress(function(event) {               
        if (event.keyCode == 13) {
            var cedula = $('#cibusqueda').val();            
            array = $('#cibusqueda').val().split( "" );
            num = array.length;            
            if ( num == 10 ) {
                total = 0;
                digito = (array[9]*1);
                for( i=0; i < (num-1); i++ ) {
                    mult = 0;
                    if ( ( i%2 ) != 0 ) {
                        total = total + ( array[i] * 1 );
                    } else {
                        mult = array[i] * 2;
                        if ( mult > 9 )total = total + ( mult - 9 );
                        else 
                            total = total + mult;
                    } 
                }
                decena = total / 10;
                decena = Math.floor( decena );
                decena = ( decena + 1 ) * 10;
                fin = ( decena - total );
                if ( ( fin == 10 && digito == 0 ) || ( fin == digito ) ) {                    
                    $('#nom').html('');
                    $('#nom').append('input');
                    $('#ape').html('');
                    $('#ape').append('input');
                    $('#tel').html('');
                    $('#tel').append('input');
                    $('#email').html('');
                    $('#email').append('input');
                    $('#nombre1').html('');
                    $('#nombre1').append('input');
                    $('#nombre2').html('');
                    $('#nombre2').append('input');
                    $.ajax({
                        url: rootPath + 'boletounion/buscarDni',
                        data: {
                            ci: $('#cibusqueda').val()                     
                        },
                        type: 'POST',
                        dataType: 'json',
                        success: function (data) {
                            if(data.length==0){
                                alert('Usuario No Registrado');
                                document.getElementById("nom").disabled="";
                                document.getElementById("ape").disabled="";
                                document.getElementById("tel").disabled="";
                                document.getElementById("email").disabled="";
                                $('#nom').val('');
                                $('#ape').val('');            
                                $('#tel').val('');            
                                $('#email').val('');                             
                                $("#guardarcliente").removeAttr("disabled");  
                            }else{
                                alert('Usuario Registrado');
                                agregarOpcionesbusqueda(data, 'nom','ape','tel','email','--'); 
                                agregarOpcionnombre(data, 'nombre1', '--');
                                agregarOpcionnombre(data, 'nombre2', '--');
                                document.getElementById("guardarcliente").disabled="disabled";
                                document.getElementById("nom").disabled="disabled";
                                document.getElementById("ape").disabled="disabled";
                                document.getElementById("tel").disabled="disabled";
                                document.getElementById("email").disabled="disabled";
                                
                                
                            }                                               

                        },
                        error: function () {
                            alert('Error  metodo cibusqueda');                              
                        }
                        
                    }); 
                    
                    
                    return true;            
                }else{
                    alert( "La cedula ingresada es invalida…");                    
                    $('#nom').val('');
                    $('#ape').val('');            
                    $('#tel').val('');            
                    $('#email').val('');              
                    document.getElementById("nom").disabled="disabled";
                    document.getElementById("ape").disabled="disabled";
                    document.getElementById("tel").disabled="disabled";
                    document.getElementById("email").disabled="disabled";
                    document.getElementById("guardarcliente").disabled="disabled";
                    return false;
                }
            }else{
                alert("La cedula no pue detener menos de 10 digitos y tan poco mas de 10 digitos");
                $('#nom').val('');
                $('#ape').val('');            
                $('#tel').val('');            
                $('#email').val('');               
                
                document.getElementById("nom").disabled="disabled";
                document.getElementById("ape").disabled="disabled";
                document.getElementById("tel").disabled="disabled";
                document.getElementById("email").disabled="disabled";
                document.getElementById("guardarcliente").disabled="disabled";
                return false;
            }                  
        
        }          
    });
    






    $('#nombre1').keypress(function(event) {   
        range = /^[a-zA-Z]+(\s*[a-zA-Z]*)*[a-zA-Z]+$/;                 
        if (event.keyCode==13)
        {
            if(!(range.test(this.value) )){      
                alert('Solo se permiten letras') ;
                this.value='';                
                $("#nombre2").val('');
            }else{
                $("#nombre2").val(this.value);
            }
        }          
    });
    
    
    
    $("#dias").click(function() {      
        var fecha=new Date();
        var anio= fecha.getFullYear();
        var mes=fecha.getMonth()+1;
        $("#fechaboleto1").val(anio+"-"+mes+"-"+$('#dias option:selected').text());
        $("#fechaboleto2").val(anio+"-"+mes+"-"+$('#dias option:selected').text());
    });
    
    
    $("#escala").click(function() {      
        var llegada=$('#escala option:selected').text().split('-');         
        $("#destinoboleto").val(llegada[0]);                      
        $("#valorboleto1").val(llegada[1]);              
        $("#valorboleto2").val(llegada[1]);
        $("#valorboleto3").val(llegada[1]);
    });  
    
    
    
    
    
    $('#asientosboleto1').keyup(function(event) {                          
        range = /^-?[0-9-]+([0-9-]*)?$/;
        if(!(range.test($(this).val()) )){
            alert('Formato no permitido') ;
            this.value='';                
            $("#asientosboleto2").val('');
            $("#totalboleto1").val('');
            $("#totalboleto2").val('');
        }else{
            $("#asientosboleto2").val(this.value);
        }
    });
    
    
    
    
    $('#asientosboleto1').keypress(function(event) {               
        if (event.keyCode == 13) {                    
            nu = $('#asientosboleto1').val().split( "-" );
            var to=$('#valorboleto3').val()*nu.length;
            $("#totalboleto1").val(to);
            $("#totalboleto2").val(to);
        }
    

    });    

    
});


//funciones para presentar datos



//
function agregarOpciones(data, control, mensaje) {
    $('#' + control).html('');
    $('#' + control).append('<option value="">' + mensaje + '</option>');

    for (var i = 0; i < data.length; i++) {
        var option = document.createElement('option');
        $(option).attr('value', data[i]['id']);
        $(option).html(data[i]['nombre']);
        $('#' + control).append(option);			
    }
}




function agregarOpcion(data, control, mensaje) {
    var valor=data[0]['nombre'];  
    $('#' + control).html('');
    input=document.createElement('input')  
    $('#' + control).val(valor)
  
}


function agregarOpcionnombre(data, control, mensaje) {
    var valor=data[0]['nombre']+' '+data[0]['apellido'];  
    $('#' + control).html('');
    input=document.createElement('input')  
    $('#' + control).val(valor)
  
}

function agregarOpcionesbusqueda(data, control, control2, control3, control4, mensaje) {
    var v1=data[0]['nombre'];  
    var v2=data[0]['apellido'];  
    var v3=data[0]['telefono'];  
    var v4=data[0]['email'];  
    
    $('#' + control).html('');
     
    $('#' + control).val(v1)
    
    $('#' + control2).html('');    
    $('#' + control2).val(v2);
    
    $('#' + control3).html('');    
    $('#' + control3).val(v3);
    
    $('#' + control4).html('');    
    $('#' + control4).val(v4);
  
  
  
}








